草庐IT

Java 安全测试

全部标签

javascript - 如何测试返回 Promise 的方法

我正在编写Angular2RC5应用程序,并使用Karma和Jasmine进行单元测试。我有一个返回Promise的方法(它位于对angular的http.post的调用之上)我想在完成后运行一些断言。这样的东西是行不通的letresult=myService.getFoo();result.then(rslt=>expect(1+1).toBe(3));//theerrorislost这会创建一个“UnhandledPromiserejection”警告,但错误会被抑制并且测试通过。如何根据已解决的promise运行断言?注意事项:.catch()方法似乎不是我想要的。我不想记录或做

javascript - 在 Angular 单元测试中模拟 ngResource

我有一个看起来像这样的ngResourceMockFactory:(function(){'usestrict';angular.module('app').factory('NgResourceMock',ngResourceMockFactory);ngResourceMockFactory.$inject=[];functionngResourceMockFactory(){functionNgResourceMock(){varcontext=this;context.$promise.then=function(){context.prototype.$promise.the

javascript - 测试 JavaScript 中的对象链是否有效的好方法

这个问题在这里已经有了答案:AccessingnestedJavaScriptobjectsandarraysbystringpath(44个答案)TestforexistenceofnestedJavaScriptobjectkey(64个回答)关闭6年前。考虑这个例子:if(this.plantService.plants[id]){if(this.plantService.plants[id].Name){if(this.plantService.plants[id].Name[0])returnthis.plantService.plants[id].Name[0].value

javascript - 是否可以在 vue-router 中锁定除一条以外的所有路由?安全吗?或者我应该使用另一种方法?

我想做一个在线考试,这个考试有5页,有一个倒计时计时器(120秒),每页有4个问题。120秒后,用户将自动转到下一页,或者他们可以在此之前单击下一步按钮。Laravel5.4和VueJs,用户回答的每个问题都有一个Ajax请求。我想要的是阻止用户看到其他页面。每个页面最多只能显示120秒。用户不应该能够点击后退按钮并查看之前的页面。这可能吗?我想用Vuejs和vue-router创建这个应用程序,但我不知道如何用vue-router实现它,我做了一些研究,但没有得到太多结果!或者也许我不应该使用vue-router,而是使用我自己的简单路由器,例如:$("#page1").show()

javascript - IE 11 找不到运行 Applet 的 Java 插件

我有使用JavaApplets构建的应用程序,它适用于带有IE9的Windows7。现在我正在尝试将它移动到另一个环境。有InternetExplorer11。要运行小程序,我使用OracleDeploymentToolkitScript最新版本取自https://www.java.com/js/deployJava.txt.但是脚本没有检测到Java插件。它只会重定向到页面java.com(建议下载最新的JRE)。但是我的浏览器安装了Java插件(这里是JRE1.7.80):还有两个SSVHelpers-也许是它们导致了问题?Java8(u144)导致同样的问题。问题:如何检测IE1

javascript - 在松散类型语言的单元测试中,是否应该检查方法的返回类型?

在Java等强类型语言中,无需显式检查返回对象的类型,因为如果返回类型与方法签名不匹配,代码将无法编译。前任。当需要整数时,您不能返回bool值。在Ruby、JavaScript、Python等松散类型语言中,可以返回任何内容。编写检查从方法返回的对象类型的单元测试是否有意义?在我看来,这将确保在需要bool值的地方返回bool值。有必要在下面进行单元测试吗?=============================Ruby示例的尝试:first_module.rb:moduleFirstModuleTypeA=Struct.new(:prop1,:prop2)self.create_

javascript - 有条件地跳过 Cypress 的测试

我正在尝试找出我是否能够有条件地跳过我的测试套件中的测试it()并处理它的异步性质。我在Cypress文档中读到了条件测试https://docs.cypress.io/guides/core-concepts/conditional-testing.html还有关于它的mochajs文档https://mochajs.org/.我的目的是检查网站上是否显示错误,如果显示错误则跳过测试。否则继续断言。我试图在Cypress中测试的来自mochajs的代码片段是:it('shouldonlytestinthecorrectenvironment',function(){if(/*chec

javascript - 自动化测试中有多少断言太多?

我的任务是使用testcafe构建测试套件,在编写测试时,我偶然发现了一个特定问题“多少断言太多了?”。基本上,测试完成后,会生成一份报告。看报告不直观。例如,如果在网页上找不到某个元素,我会看到如下内容:>Selector('tads')doesnotexistintheDOM.这迫使我手动完成测试以验证失败的原因。根据testcafe文档,您可以向断言添加可选消息。asseenhere截至目前,我在一些地方对一些消息进行了断言。在每次点击或每个Action后都有一个断言(带有简明的错误消息)是否明智?(即单击登录按钮,执行断言以查看是否出现登录模式。现在登录,断言登录模式消失)代码

java - 将值从 JavaScript 发送到 JSP(使用 jQuery)

现在我有一个允许对某些项目进行排序的JSP页面,当准备就绪并单击链接时,JavaScript函数将所有信息转换为XML(变量中的文本),之后我需要将此XML发送到再次访问JSP页面,我尝试将信息放入隐藏输入并提交表单,使用$.post和更多jQuery函数发送,但没有任何效果。有什么想法吗?在我的JSP中,我正在阅读这样的帖子:这行不通:xml="";$("#form").submit(function(){alert("JS:"+$("#data").text());$("#data").text(xml);});这要么:xml="";$("#data").text(xml);$("

javascript - 针对不同浏览器的 JavaScript 中的一般单元测试概念/实践?

我一直在用强类型语言编写单元测试,对此我有很好的理解。当用JavaScript编写单元测试以验证某些功能在某些浏览器中是否正常工作时,我又回到了手动测试。我不了解它是如何工作的。因为JavaScript旨在缩小数据和表示之间的差距,并使其更具交互性。一切都在浏览器中发生,而且更多地与UI有关。所以我假设如果我要编写单元测试,我会编写类似(伪代码)的内容:runfunctionAcheckDOMifcertainelementhasbeencreatedifnotthenfailcheckifelementisvisibleifnotthenfailcheckforthecontento